The present invention relates generally to the field of compiler optimizations, and more particularly to aliasing.
In computing, compilation is a process in which a compiler transforms source code written in a programming language (e.g., Java, C++, etc.) into machine instructions for creating an executable program. To save time and other resources, a compiler may optimize the code to be compiled. For example, a compiler may minimize or transform certain attributes and/or segments of the code. One such example of a compiler optimization technique is automatic vectorization.
Aliasing is a situation in computer programming where a data object associated with a defined location in computer memory can be accessed through a plurality of different pointers in code. Therefore, changing the data object via any one of the plurality of pointers implicitly changes the data object for all the other associated pointers. This situation may also be referred to as an alias dependence.